xen: arm: Implement variable levels in dump_pt_walk
authorIan Campbell <ian.campbell@citrix.com>
Thu, 18 Sep 2014 00:09:48 +0000 (01:09 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 22 Sep 2014 15:44:43 +0000 (16:44 +0100)
commit5fa6e9abfb11c360e1f09707f6762975231d1ae1
tree0f433cce4ba15a4ae4f4ad5cd4541e7456fd25dd
parent1171aa90994d1570757217a103c8f649a4480dcb
xen: arm: Implement variable levels in dump_pt_walk

This allows us to correctly dump 64-bit hypervisor addresses, which use a 4
level table.

It also paves the way for boot-time selection of the number of levels to use in
the p2m, which is required to support both 40-bit and 48-bit systems.

To support multiple levels it is convenient to recast the page table walk as a
loop over the levels instead of the current open coding.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
xen/arch/arm/mm.c
xen/arch/arm/p2m.c
xen/include/asm-arm/page.h